查看原文
其他

带你走进图数据库——Neo4j的大门

2018-01-16 zhaikun Python爱好者社区

作者:zhaikun   风控建模屌丝一枚,现居于北京

个人微信公众号:Python数据分析与评分卡建模


数据库很多种,各有擅长的领域,今天给大家介绍下neo4j,基于图的搜索,相信会令你大开眼界的。


本文的案例和数据出自 《neo4j权威指南》,数据是我按照书里但数据整理出csv文件,然后admin import 导入数据库,代码是在书本提供的代码基础上加以整理的。感兴趣的同学可以买书来看,这是不错的入门书,但想吐槽下,书里不提供数据和代码下载,所以,手敲吧。


今天介绍3个案例:工商图谱、社交网络、科研导图。


先看工商图谱:

整体关系:紫色节点是公司,黄色节点是人名。


先看公司:



中化集团控股中国石化,中国石化又有子公司和孙公司若干。


再看高管关系:



4个公司,20个高管,关系有董事长、法人、监事会主席等。

下面开始查询:


先查中国石化的母公司:



中国石化的子公司:




中国石化的子公司和孙公司:




高管樊某控股的所有公司:



与3个公司有关,分别是董事、监事、参股。


再看中国石化的所有高管:


16个高管,包括法人、董事长、监事会主席、董事和监事。


下面看社交网络:社交网络有个重要的概念,叫六度人脉,这什么意思呢,在6度范围内,你能认识很多很多很多人,构成1个网络。举个栗子,你的同学是1度人脉,你通过你同学认识了你同学的女友,同学的女友就是2度人脉,你通过同学的女友认识了女友的闺蜜,就是3度人脉,各个节点都是有自己社交圈的。很多金融公司也引入了社交网络圈的概念,找欺诈团伙,找催收失联。社交网络会有很多很多的应用哦。


先看所有关系:



找小锋一度人脉内的无向关系:




找小锋一度人脉内的有向关系:




再看小讯一度人脉内的关系:记住数字6,认识6个人。





我们看看小讯二度人脉内的关系:记住数字10,通过朋友的朋友,共10个人在2度人脉内。



再看6度人脉内的关系,看看是不是与第一个图一样,认识所有人了


听说小菲是个大美女,还是单身,现在小讯想认识小菲,想找熟人介绍,找谁介绍呢?



很可惜,没熟认识小菲。但如果我们眼光放远一点,刚知道了6度人脉,我们试试在6度里找:



好,小讯--找小鹏--找小颖--找小东--找小菲。嘿嘿,小菲,我来了。


最后看1个科研导图,可用于论文检索、论文合作等;有科研导图,是不是也可以做个商务导图呢?头脑风暴吧!


先看整体图:



我们先看下各研究人员著作的论文数量:


论文1和论文6的相似路径:



作者1和作者5的合作路径:


Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

小编的Python入门视频课程!!!

崔老师爬虫实战案例免费学习视频。

丘老师数据科学入门指导免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

丘老师Python网络爬虫实战免费学习视频。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存